# 导入 os 模块，用于与操作系统进行交互，获取环境变量和文件路径等操作
import os
# 从 datetime 模块导入 timedelta 类，用于表示时间间隔
from datetime import timedelta

# 定义配置类，用于存储应用程序的各种配置信息
class Config:
    # 基础配置：应用程序的密钥，优先从环境变量获取，未设置则使用开发环境密钥
    SECRET_KEY = os.environ.get('SECRET_KEY') or 'dev-key-please-change-in-production'
    
    # 数据库配置：获取当前文件所在目录的绝对路径
    basedir = os.path.abspath(os.path.dirname(__file__))
    # 数据库连接 URI，优先从环境变量获取，未设置则使用 SQLite 数据库
    SQLALCHEMY_DATABASE_URI = os.environ.get('DATABASE_URL') or \
        'sqlite:///' + os.path.join(basedir, 'app.db')
    # 关闭 SQLAlchemy 的追踪修改功能，以减少内存消耗
    SQLALCHEMY_TRACK_MODIFICATIONS = False
    
    # 会话配置：设置会话的持久化生命周期为 7 天
    PERMANENT_SESSION_LIFETIME = timedelta(days=7)
    
    # DeepSeek API 默认配置：设置 DeepSeek API 的基础 URL
    DEEPSEEK_API_BASE = "https://api.deepseek.com/"
    # 设置 DeepSeek 使用的模型名称
    DEEPSEEK_MODEL = "deepseek-chat"
    # 设置 DeepSeek API 请求的温度参数，控制输出的随机性
    DEEPSEEK_TEMPERATURE = 0.7
    # 设置 DeepSeek API 请求的最大令牌数
    DEEPSEEK_MAX_TOKENS = 2048